
package com.hlkj.pay.vo.openapi.order.resp;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * 商户转账记录
 * 
 * @TableName t_merchant_transfer
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class PaymentApiResp implements Serializable {
    private static final long serialVersionUID = -8907922247175135025L;

    @Schema(description = "通道编码")
    private String mchChannelCode;

    @Schema(description = "支付方式 1- 支付宝账户； 2- 微信零钱；3-银行卡 4-渠道内部户")
    private Integer entryType;


    @Schema(description = "商户订单号")
    private String mchOrderNo;
    @Schema(description = "平台订单号")
    private String payOrderNo;
    @Schema(description = "渠道订单号 第三方渠道订单号")
    private String channelOrderNo;
    @Schema(description = "支付机构订单号 ")
    private String instOrderNo;

    @Schema(description = "转账金额 单位元")
    private String amount;

    @Schema(description = "买家ip")
    private String clientIp;
    @Schema(description = "转账说明")
    private String remark;
    @Schema(description = "接口描述")
    private String message;

    @Schema(description = "收款方姓名")
    private String name;
    @Schema(description = "收款人账号，支付宝为支付宝账号，微信为openid，银行卡为银行卡账号，渠道内部户为内部账号")
    private String cardNo;

    @Schema(description = "特殊支付通道额外参数")
    private String extra;

    @Schema(description = "支付结果异步通知地址")
    private String notifyUrl;

    @Schema(description = "收款方类型，1=个人，2=企业，入账方式为3或4必传，其它非必传")
    private Integer payeeType;
    @Schema(description = "收款方银行编码，入账方式为3必传，其它非必传")
    private String bankCode;

    @Schema(description = "收款方银行名称，入账方式为3必传，其它非必传")
    private String bankName;
    @Schema(description = "联行号，入账方式为3必传，其它非必传")
    private String branchCode;
    @Schema(description = "成功时间 单位毫秒")
    private Long successTime;
    @Schema(description = "退票成功时间 单位毫秒")
    private Long refundSuccessTime;
    /**
     * 状态 2 执行中 3 执行完成 4 执行失败
     */
    @Schema(description = "状态 2 执行中 3 执行完成 4 执行失败")
    private Integer status;
}
